const USER_BEAN_KEY = 'XIAOBUUSERBEAN'
const SESSION_KEY = 'XIAOBUSESSION'
const USER_TEL_NO_KEY = 'fdaheoibhdio3bcoabfcil'

const defaultUserInfo = {
  IS_LOGIN: 0, // 记录用户是否登录,1已经登陆
  SESSION_ID: '',
  PHONE: '', // 用户手机号码
  ISSET_PASSWD: 0, // 是否设置密码.用户区分修改密码和设置密码,1为设置密码
  NICK_NAME: '', // 用户昵称
  SEX: 1, // 用户性别,1 男,2 女
  USER_ID: '', // 用户唯一id
  ADDR: '', // 用户的地址
  ICON: '', // 用户头像
  BIRTHDAY: '', // 用户生日
  INIT: '', // 0 不需要初始化,1 需要初始化,该字段用于微信版登录是否需要初始化
  AUTH_LOGIN: '-1', // AUTH_LOGIN,是否第三方登陆.-1未知,0手机号,1第三方
  VIP_LEVEL: 0, // 会员等级，0.注册会员，1.购买后的会员
  REFERAL_CODE: '' // 邀请有礼邀请码
}

function setUserInfo(jsonInfo) {
  // 采用assign方式拷贝，避免对源数据进行操作
  let info = Object.assign({}, defaultUserInfo)
  if (jsonInfo) {
    info = Object.assign(info, jsonInfo)
  }
  window.localStorage.setItem(USER_BEAN_KEY, JSON.stringify(info))
  window.localStorage.setItem(SESSION_KEY, info.SESSION_ID)
  if (info.PHONE) {
    window.localStorage.setItem(USER_TEL_NO_KEY, info.PHONE)
  }
}

function getUserInfo() {
  let value = window.localStorage.getItem(USER_BEAN_KEY)
  if (value) {
    // console.log('获取到用户数据：' + value)
    return JSON.parse(value)
  } else {
    return Object.assign({}, defaultUserInfo)
  }
}

function isUserLogin() {
  let userbean = getUserInfo()
  return userbean.IS_LOGIN === 1 || userbean.IS_LOGIN === '1'
}

function getUserPhone() {
  let value = window.localStorage.getItem(USER_TEL_NO_KEY)
  if (value) {
    console.log(value)
    return value
  } else {
    return ''
  }
}

function getUserId() {
  return getUserInfo().USER_ID
}

export { setUserInfo, getUserInfo, isUserLogin, getUserPhone, getUserId }
